﻿using System;
using System.Collections.Generic;

namespace MetalSoda
{
    /// <summary>
    /// SQL Server DDL object.
    /// </summary>
    public interface IDdlObject
    {
        /// <summary>
        /// Generates a sequence on the CREATE batches.
        /// </summary>
        /// <returns>T-SQL batches</returns>
        IEnumerable<string> GenerateCreateBatches();

        /// <summary>
        /// Generates a sequence on the ALTER batches.
        /// </summary>
        /// <returns>T-SQL batches</returns>
        IEnumerable<string> GenerateAlterBatches();

        /// <summary>
        /// Generates a sequence on the DELETE batches.
        /// </summary>
        /// <returns>T-SQL batches</returns>
        IEnumerable<string> GenerateDeleteBatches();
    }
}
